package CasasJusticia.Modelo
{
	import mx.collections.ArrayCollection;

	public class Contexto
	{
		public function Contexto()
		{
		}
		
		public static function RetornarDepartamentos(array:ArrayCollection):ArrayCollection
		{
			try
			{
				var arrayCollection:ArrayCollection = new ArrayCollection();
				
				for each(var dpto:Object in array)
				{
					var departamento:Departamento = new Departamento();
					departamento.IdDepartamento = String(dpto["IdDepartamento"]);
					departamento.NomDepartamento = String(dpto["NomDepartamento"]);
					departamento.EstDepartamento = String(dpto["EstDepartamento"]);
					arrayCollection.addItem(departamento);
				}
				return arrayCollection;				
			}
			catch(error:Error)
			{
				return null;
			}
			return null;
		}	
		
		public static function RetornarMunicipios(array:ArrayCollection):ArrayCollection
		{
			try
			{
				var arrayCollection:ArrayCollection = new ArrayCollection();
				
				for each(var mpio:Object in array)
				{
					var municipio:Municipio = new Municipio();
					municipio.IdDepartamento = String(mpio["IdDepartamento"]);
					municipio.IdMunicipio = String(mpio["IdMunicipio"]);
					municipio.NomMunicipio = String(mpio["NomMunicipio"]);
					municipio.TieneLocalidades = String(mpio["tiene_localidades"]) == "S" ? true : false;
					municipio.EstMunicipio = String(mpio["EstMunicipio"]);
					municipio.CoordenadaX = Number(mpio["CoordenadaX"]);
					municipio.CoordenadaY = Number(mpio["CoordenadaY"]);
					arrayCollection.addItem(municipio);
				}
				return arrayCollection;				
			}
			catch(error:Error)
			{
				return null;
			}
			return null;
		}
		
		public static function RetornarLocalidades(array:ArrayCollection):ArrayCollection
		{
			try
			{
				var arrayCollection:ArrayCollection = new ArrayCollection();
				
				for each(var loc:Object in array)
				{
					var localidad:DivisionMunicipal = new DivisionMunicipal();
					localidad.IdDepartamento = String(loc["IdDepartamento"]);
					localidad.IdMunicipio = String(loc["IdMunicipio"]);
					localidad.IdDivisionMunicipal = String(loc["IdDivisionMunicipal"]);
					localidad.NomDivisionMunicipal = String(loc["NomDivisionMunicipal"]);					
					localidad.EstDivisionMunicipal = String(loc["EstDivisionMunicipal"]);
					localidad.CoordenadaX = Number(loc["CoordenadaX"]);
					localidad.CoordenadaY = Number(loc["CoordenadaY"]);
					arrayCollection.addItem(localidad);
				}
				return arrayCollection;				
			}
			catch(error:Error)
			{
				return null;
			}
			return null;
		}		
		
		public static function RetornarEntidadesPorCasaGeo(array:ArrayCollection):ArrayCollection
		{
			try
			{
				var arrayCollection:ArrayCollection = new ArrayCollection();
				
				for each(var elemento:Object in array)
				{
					var entidadPorCasaGeo:EntidadPorCasaGeo = new EntidadPorCasaGeo();
					entidadPorCasaGeo.EstEntidad = String(elemento["EstEntidad"]);
					entidadPorCasaGeo.EstEntidadCasa = String(elemento["EstEntidadCasa"]);
					entidadPorCasaGeo.IdCasaJusticia = Number(elemento["IdCasaJusticia"]);
					entidadPorCasaGeo.IdDepartamento = String(elemento["IdDepartamento"]);
					entidadPorCasaGeo.IdDivisionMunicipal = Number(elemento["IdDivisionMunicipal"]);
					entidadPorCasaGeo.IdEntidad = Number(elemento["IdEntidad"]);
					entidadPorCasaGeo.IdEntidadCasa = Number(elemento["IdEntidadCasa"]);
					entidadPorCasaGeo.IdMunicipio = String(elemento["IdMunicipio"]);
					entidadPorCasaGeo.NomCasaJusticia = String(elemento["NomCasaJusticia"]);
					entidadPorCasaGeo.NomDepartamento = String(elemento["NomDepartamento"]);
					entidadPorCasaGeo.NomDivisionMunicipal = String(elemento["NomDivisionMunicipal"]);
					entidadPorCasaGeo.NomEntidad = String(elemento["NomEntidad"]);
					entidadPorCasaGeo.NomMunicipio = String(elemento["NomMunicipio"]);
					entidadPorCasaGeo.TipoCasaJusticia = String(elemento["TipoCasaJusticia"]);
					
					arrayCollection.addItem(entidadPorCasaGeo);
				}
				return arrayCollection;
			}
			catch(error:Error)
			{
				return null;
			}
			return null;
		}
	}
}